package org.example.algorithm;

public class Hannotower {

    public static void main(String[] args) {
        hanniTower(2,'A','B','C');
    }

    public static void hanniTower(int num, char a, char b, char c){

        if (num == 1){
            System.out.println("第1个盘从 " + a + "->" + c);
        }else{
            //如果有n>=2的情况，总是可以看作是两个盘，设x为最下边一个盘，y为上面的所有盘
            //1.先把y盘从A杆->B杆，其中用到C杆
            hanniTower(num - 1,a,c,b);
            //2.把x盘A->C
            System.out.println("第" + num + "个盘从 " + a + "->" + c);
            //3.把B塔的所有盘从B->C,移动过程中使用到A塔
            hanniTower(num-1,b,a,c);
        }
    }

}
